home Today's News Magazine Archives Vendor Guide 2001 Search isdmag.com

Editorial
Today's News
News Archives
On-line Articles
Current Issue
Magazine Archives
Subscribe to ISD


Directories:
Vendor Guide 2001
Advertiser Index
Event Calendar


Resources:
Resources and Seminars
Special Sections


Information:
2001 Media Kit
About isdmag.com
Writers Wanted!
Search isdmag.com
Contact Us





Hardware Considerations for Information Appliance Design

By William Dowell
Integrated System Design
Posted 06/11/01, 12:09:25 PM EDT

The handheld computing revolution has given rise to the concept of the information appliance. Personal communication devices and networked electronic organizers have changed the productivity of today's workers. As a concept, however, information appliances shouldn't be pigeonholed in a single category of computing. Beyond the realm of devices of personal convenience, information appliances can have applications in all aspects of professional and private life.

No matter the application, an information appliance must facilitate productivity through a simple, efficient, and intelligent use of data. It stands to follow that if making information easily accessible and useable is a primary characteristic of an information appliance, the best way to maximize the efficacy of that appliance is to provide a means to intelligently share information with other devices within its working environment.

The device in question might be a handheld organizer on the desk of a sales executive -- or it might be an automation unit deployed within a power distribution facility. Either way, there is a need for the appliance to function reliably in the environment for which it was intended. Reliability may not have the glamour of ergonimics and "look and feel," but it is at the core of the art of design.

From a design standpoint, there are many ways to network an information appliance, each of which has merit in one way or another. Consideration of the operational environment is key to the ultimate success of the design, however, and there are numerous elements to consider when approaching a new concept or revising an existing design. Embedded systems are gaining in popularity because of the cost advantages and the increasing range of applications available, but embedded systems offer challenges distinct from traditional system designs. These range from processor and memory choices to the product use environment.

With an understanding of the esoteric aspects and effects of product design, the engineer can immediately improve the chances for product and design success. For the designer, it isn't enough to know what components are needed to make up a design; how components interact, what influencing factors may come into play, and within what context will a design operate are all crucial considerations. This is especially important when working with embedded systems.

Requirements and limitations

The first step in designing for a networked information appliance is to understand the implied specifications, limitations, and functional requirements. Elements as processor type will have wide-ranging impact on throughput, scalability, and length of development cycle. Similarly, software will affect elements like scalability.

Cost will also be impacted by these up-front choices. These days, the bill of material cost needs to be much lower than with traditional designs, particularly with volume production. Decisions regarding Serial, USB, or I-squared C interfaces also impact cost-to-performance ratios. Finding processors at the necessary price point while maintaining functional integrity is the trick.

Power requirements and temperature range are also to be considered. With battery operated products, thought needs to be given to current draw of all system components. If the product requires an industrial temperature rating, all components in the box need to be industrial rated.

The next step is to understand where the product will live out its life cycle and the implications of that environment in order to take advantage of inherent advantages and plan for worst-case scenarios. Elemental exposure, human/machine interaction, environmental contamination, and temperature extremes and will all have an effect on performance and potential life expectancy.

Finally, network environments are to be regarded. Is the product interfaced to a LAN? How will the device's associated traffic affect neighboring devices? Is the application expected to communicate in real time? What is the threshold for latency toleration? Must consideration be paid to the old "30-percent rule" whereby, under normal operational circumstances on a shared network, the device might only be allowed to consume 30 percent of the available bandwidth? (30 megabits per second on a 100BaseT network.)

These are just a few of the things that must be considered before starting a design project. Fail to properly consider even one of these elements and you may hear the old maxim "back to the old drawing board."

Memory considerations

Choosing random access memory (RAM) in a system is the most important aspect of the design and impacts where the product can be used as well as the product's overall functional requirements. Other factors such as cost, application, availability, and product stability will impact RAM choice.

Depending on the application, there are two primary choices in RAM: static RAM (SRAM) and synchronous DRAM (SDRAM). SRAM is known for product availability and speed, and is easy to implement in a design, but is limited by low-density and high price. SDRAM is the most popular RAM in today's embedded product design. Processors interact easily with SDRAM, availability is fair to good, and cost per megabyte ratios are excellent compared with SRAM.

Most processors require an external memory subsystem responsible for image storage and program execution. For image storage, most devices will use Flash memory. Flash itself is relatively slow, thereby making program execution from Flash fairly inefficient -- particularly in real-time applications. However, by executing the image from RAM, the architecture can be employed without adversely affecting product operation. Keep in mind, Flash has unlimited read capability, but can only be written to a finite number of times.

Electrically erasable programmable read only memory (EEPROM) is a non-volatile memory used in many applications to hold configuration information for the device. These parameters usually include the media access control (MAC) address and IP address at a minimum. Other parameters can include subnet mask, serial number, gateway, baud rate settings, or other board-specific parameters. EEPROM is typically very slow, but tends to not impact product performance as its main purpose is served at start-up.

Refining the target

Many projects start out with a finite set of requirements -- those needed to get a product to market quickly and at a reasonable cost. This is of particular importance when dealing with information appliances. After the product has been market proven, product revisions, including value-add features in the software, can be added. The changing nature of, and demands on, information appliances requires extensive design flexibility.

Finding an operating system at the Transmission Control Protocol/Internet Protocol (TCP/IP) stack which requires a very low footprint helps to keep material cost low by reducing the amount of required memory.

Many information appliances include an embedded web interface. With a web server and a File Transfer Protocol (FTP) server, the unit would start at roughly 310 Kb, bringing up the point of web page construction itself. Typical web page designs use under 350 Kb of Flash for the complete image. Adding elements such as FTP, HTTP, e-mail, animation, large graphic files, and custom applications puts additional strain on memory.

At a minimum, the RAM needs to be the size of the Flash with additional memory for data and the Ethernet buffer storage. Other considerations, such as whether or not the unit will be equipped for field upgrades. In such a scheme, RAM size has to be double program image size. Finally, heap size must be calculated and accounted for. Heap size serve many purposes, such as allocating memory for each socket connection. Again, the typical approach in determining RAM size in this case is to simply double the original executable image size.

Execution, access, speed

Devices, such as a simple serial to Ethernet gateway can typically afford to run out of Flash without a performance penalty. Some processors can take advantage of internally generated signals to gain efficiency with Flash. For example, with a 16-bit AMD Flash device, the chip enable on the Flash can be grounded, thereby keeping it active 100 percent of the time.

Memory speed has a direct impact on MBPS performance and has a direct impact on how much data can be processed. Slow memory equals slow instruction fetches, decreasing performance efficiency. Understanding these dependencies in the context of product requirements is necessary in building information appliances.

Besides Flash, additional non-volatile power RAM (NVRAM) is sometimes overlooked. Many real-time operating system (RTOS) vendors recommend small NVRAM devices such as EEPROM for configuration information. When IP addresses or configuration settings are modified on the product, one can simply write the new values to EEPROM instead of reburning the Flash sector holding the configuration information. Small devices can be used, as the required EEPROM footprint is typically small. With a support package, routines can be employed for MAC addresses, IP configuration settings, and serial numbers. Taking advantage of these features can save a lot of time and development effort.

One of the most common schemes to communicate with board-level components is memory mapping. Processors typically have a system bus comprised of an address and data bus that are useful for communicating with peripherals. Memory such as Flash and SDRAM usually reside on the system bus of the processor. Other peripherals such as FPGAs, LCD displays, encoders, and many other types of peripherals may be added to this bus as well.

This type of implementation is usually chosen for two reasons -- efficiency and ease of use. Efficiency on a system bus is very good compared to many other types of interfaces. Consider what other peripherals are communicating via that system bus. If there are many high-bandwidth components trying to communicate, bus contention may occur. From the ease-of-use standpoint, all devices on the system bus basically resemble memory. With intelligent memory controllers on the processor, communication from the applications of the hardware is as easy as accessing a memory space.

Many memory controllers support what is termed dynamic bus sizing as well. This is beneficial in the application, as moves from a 32-bit peripheral to an 8-bit peripheral are transparent to the programmer.

Additional network elements

Besides the memory subsystem, the Ethernet physical layer (PHY) needs to be implemented. The hardware components required for Ethernet communication involve the MAC, PHY, a transformer, and a connector. Choosing a processor with an integrated MAC is beneficial as the number of design components is reduced.

In the case of an external MAC, additional memory is sometimes needed. By integrating the MAC, system cost decreases as well. The MAC's main responsibilities include handling and managing collision conditions on the Ethernet.

Networked information appliances require both internal and external interfaces for communication with other peripherals. In many cases, the processor's system bus is used to memory map peripherals, such as universal serial bus (USB) controllers, liquid crystal displays (LCDs), field programmable gate arrays (FPGAs), or moving picture expert group (MPEG) encoders. General purpose I/O can be used to create interface devices such as serial EEPROMs. USB, besides being an interface for external devices such as hard drives or cameras can also be used for component communication involving devices such as modems and coder/decoders (CODECs).

Finally, when preparing to design for information appliances, serial topologies and network protocols are essential considerations. Common serial topologies, such as RS232, 422, and 485, are common for communication with external peripherals. Ethernet connections are becoming as widespread as parallel and serial connectors once were.

When planning for future product migration, wireless Ethernet must be considered. For remote applications and facilities, where cable installation is cost-prohibitive or i|mpossible due to location, wireless is becoming an extremely viable option. Other interfaces such as 802.11 and Bluetooth are being refined, even as we speak, for future applications and will certainly have a major impact on the development of the future of information appliances.

Information appliances are in early stages of development. Just as knowing a product's intended usage can help a designer plan for current application, understanding the product's intended roadmap can enable a designer to conceive of, and plan for, future upgrades and iterations. It is clear that change will be a constant in this industry, particularly as its inherent demands evolve over time. As the saying goes: "Prior proper planning prevents poor product performance."

William Dowell is Field Applications Engineer Manager, Americas, NetSilicon, Inc. (Waltham, MA).

   Print Print this story     e-mail Send as e-mail   Back Home

Sponsor Links

All material on this site Copyright © 2001 CMP Media Inc. All rights reserved.